2.03. Что такое сеть и интернет?
Общее о сетях
Сейчас мы уже привыкли к такому явлению, как сеть. Мы всё время онлайн, как с телефона, так и с компьютера – работаем и играем с постоянным Интернет-соединением, общаемся и обмениваемся информацией, даже не задумываясь порой о том, какой путь прошли эти технологии, прежде чем дать нам возможность смотреть фильмы в 4K.
Сети — это среда, в которой сегодня реализуется подавляющее большинство цифровых взаимодействий, что сравнимо по значимости с электрическими или транспортными сетями.
Люди веками искали способы передавать информацию на расстоянии (да, можно пошутить про голубиную почту – можете даже для интереса посмотреть, как это работало – приходилось действительно идти в «голубятню» и разбирать привязанные к ножкам птиц сообщения).
★ Сеть — это совокупность двух и более независимых вычислительных устройств (узлов), соединённых физически или логически и способных обмениваться данными по заранее определённым правилам (протоколам). При этом соединение может быть проводным (медные кабели, оптоволокно), беспроводным (радиоволны, инфракрасное излучение, лазерные лучи) или гибридным. Главное условие — возможность двустороннего (или многостороннего) обмена информацией с сохранением её целостности и синхронности.
Важно подчеркнуть: соединение ≠ сеть. Два компьютера, соединённых кабелем «в крест», ещё не образуют сеть в полном смысле. Они образуют канал связи. Сетью это становится тогда, когда введены:
- идентификация участников (адреса),
- правила форматирования сообщений (протоколы),
- механизмы обнаружения ошибок и их устранения,
- способы управления доступом к среде передачи.
Именно эти четыре компонента превращают простой канал в управляемую, масштабируемую и безопасную среду взаимодействия.
Классификация сетей по масштабу охвата
Сети различаются прежде всего по географическому и административному охвату. Эта классификация помогает понять, какие технологии, протоколы и подходы к управлению применяются в каждом случае.
PAN — Personal Area Network (персональная сеть)
PAN — это самая малая по масштабу сеть. Она обслуживает одного человека в радиусе до нескольких метров. Примеры: Bluetooth-гарнитура, соединённая со смартфоном; клавиатура и мышь, подключённые к ноутбуку по беспроводному протоколу; смарт-часы, синхронизирующие данные с телефоном. PAN не предполагает постоянного подключения к внешним системам, хотя может выступать как шлюз (например, телефон в роли точки доступа к Интернету для часов). Устройства в PAN обычно работают по энергосберегающим протоколам (BLE, Zigbee, ANT+), так как ограничены ресурсами аккумуляторов.
LAN — Local Area Network (локальная сеть)
LAN объединяет устройства в пределах одного здания, этажа или небольшого комплекса (например, офис, школа, дом). Типичный радиус действия — до нескольких сотен метров (при использовании витой пары — до 100 м на сегмент без повторителей). LAN характеризуется высокой скоростью передачи (от 100 Мбит/с до 10 Гбит/с и выше), низкой задержкой и централизованным управлением — как правило, администратором локальной инфраструктуры.
В LAN устройства взаимодействуют на канальном и физическом уровнях стека протоколов (например, Ethernet). Адресация внутри LAN чаще всего осуществляется с помощью MAC-адресов, но для удобства маршрутизации и доступа приложений используются локальные IP-адреса (например, из диапазона 192.168.0.0/16). Для разделения сети на логические сегменты применяются VLAN (Virtual LAN), что позволяет изолировать трафик даже при физическом совмещении устройств на одном коммутаторе.
Важной особенностью LAN является то, что она обычно находится под единым административным контролем: организация или частное лицо полностью владеет оборудованием (коммутаторами, точками доступа, маршрутизаторами) и устанавливает правила доступа, политики безопасности и резервного копирования.
MAN — Metropolitan Area Network (городская сеть)
MAN охватывает территорию города или агломерации. Это промежуточное звено между LAN и WAN. Обычно MAN строится операторами связи или муниципальными структурами и служит для объединения множества локальных сетей (например, всех отделений банка в городе, кампусов университета, государственных учреждений).
Технологически MAN использует высокоскоростные решения: оптоволоконные кольца (часто с резервированием по стандартам SONET/SDH), протоколы MPLS для виртуальной маршрутизации, а также WiMAX или точечные радиолинии для беспроводного соединения удалённых зданий. Скорости в MAN могут составлять от 1 Гбит/с до 100 Гбит/с и более. Задержки — от единиц до десятков миллисекунд. MAN часто выступает как «магистраль», к которой подключаются отдельные LAN.
WAN — Wide Area Network (глобальная сеть)
WAN — это сеть, выходящая за пределы одного административного домена и географического региона. Самый известный пример WAN — Интернет, но не всякий WAN является Интернетом. Корпоративные WAN, например, соединяют офисы компании в разных странах через выделенные каналы, арендованные у телеком-операторов. Такие сети могут использовать технологии Frame Relay (устаревшая), ATM (практически не используется), MPLS, или современные SD-WAN (Software-Defined Wide Area Network).
Ключевая особенность WAN — передача данных через публичную или арендованную инфраструктуру, не находящуюся в собственности пользователя. Это накладывает ограничения: задержки выше (от 10 мс до сотен миллисекунд), пропускная способность может быть асимметричной, а качество канала — переменным. Поэтому в WAN критически важны механизмы:
- восстановления после потерь (повторная передача),
- сжатия и оптимизации трафика,
- шифрования (особенно при использовании публичных каналов).
WAN-соединения почти всегда реализуются на сетевом и транспортном уровнях (IP, TCP/UDP), тогда как физическая и канальная реализация скрыта от конечного пользователя.
Интернет
★ Интернет – глобальная сеть сетей, где миллиарды устройств общаются через провода, радиоволны и даже спутники.
★ Мобильная связь – сеть без проводов, использующая радиоволны и вышки.
★ Радиосвязь – передача данных через эфир (радио, телевидение и Wi-Fi).
Сервер
Интернет обеспечивает свою работу благодаря особым компьютерам - серверам.
Слово сервер часто используется неточно — то как аппаратное устройство, то как программа, то как роль в системе. Требуется чёткое разграничение.
Сервер — это программное обеспечение (процесс), предоставляющее ресурсы, данные или сервисы другим программам (клиентам) по запросу в рамках клиент-серверной архитектуры.
Аппаратный носитель, на котором работает этот процесс, называется серверной машиной или хостом, но это вторично. Один физический компьютер может одновременно исполнять десятки серверных ролей: веб-сервер, база данных, файловый сервер, почтовый агент — каждый в отдельном процессе.
Основные признаки сервера:
- Пассивность: сервер не инициирует соединение первым. Он ожидает входящие запросы на выделенном сетевом порту.
- Многопоточность/асинхронность: способность обслуживать множество клиентов одновременно.
- Устойчивость: серверы проектируются так, чтобы минимизировать простои — с резервированием питания, дисков (RAID), сетевых интерфейсов, а также с возможностью «горячей» замены компонентов.
- Стандартизация протоколов: сервер взаимодействует с клиентом строго по спецификации (HTTP, SMTP, SMB, LDAP и др.).
Типы серверов по функциональности:
- Веб-сервер (например, Nginx, Apache) — обрабатывает HTTP/HTTPS-запросы, отдаёт статические файлы или проксирует динамические запросы к бэкенду.
- Прикладной сервер (например, Tomcat, Node.js runtime) — исполняет бизнес-логику приложений.
- Сервер баз данных (PostgreSQL, MySQL, MongoDB) — управляет хранением, индексированием, безопасностью и согласованностью данных.
- Файловый сервер (Samba, NFS) — предоставляет общий доступ к файловой системе.
- Почтовый сервер (Postfix, Exchange) — отвечает за приём, маршрутизацию и хранение электронной почты.
- Прокси-сервер — выступает посредником между клиентом и конечным сервером, обеспечивая кэширование, фильтрацию, анонимизацию.
Важно: клиент и сервер — это роли, а не типы устройств. Смартфон может быть клиентом по отношению к облачному API, но одновременно — сервером для Bluetooth-устройств (PAN). Устройство IoT может быть сервером для локального шлюза и клиентом по отношению к облаку.
Модель OSI
Сетевая модель OSI — сетевая модель стека сетевых протоколов OSI/ISO. Посредством данной модели различные сетевые устройства могут взаимодействовать друг с другом. Модель определяет различные уровни взаимодействия систем. Каждый уровень выполняет определённые функции при таком взаимодействии.
Протокол
Если представить сеть как международный аэропорт, то протокол — это полный свод правил: как подавать сигналы, как интерпретировать высоту, как реагировать на аварийные ситуации, как оформлять разрешения на взлёт. Без единого стандарта взаимодействие невозможно — даже если два устройства физически подключены, они останутся «глухи» друг к другу.
Протокол — это формализованное соглашение о порядке, формате и семантике обмена сообщениями между двумя или более участниками сети. Он определяет:
- как устроено сообщение (заголовки, тело, контрольные суммы),
- как начинается и завершается сеанс связи,
- как обнаруживаются и корректируются ошибки,
- как управляется поток данных (например, чтобы быстрый отправитель не «затопил» медленного получателя),
- как обеспечивается надёжность (гарантированная доставка или отказ от неё в пользу скорости).
Протоколы строятся иерархически — в виде так называемого стека. Каждый уровень стека решает свою задачу и «скрывает» сложность нижележащих уровней от вышележащих. Например, приложение (уровень приложения) работает с HTTP-запросами и не знает, передаётся ли пакет по Wi-Fi, оптоволокну или спутниковому каналу — этим занимается уровень соединения и физический уровень, скрытые внутри.
Наиболее известный и универсальный стек — TCP/IP, хотя исторически существовали и другие (например, OSI — семиуровневая модель, используемая в основном как учебный инструмент). В TCP/IP выделяют четыре основных уровня:
- Прикладной уровень (HTTP, FTP, SMTP, DNS, SSH) — интерфейс для программ.
- Транспортный уровень (TCP, UDP) — управление сеансом, надёжность, мультиплексирование по портам.
- Сетевой уровень (IP, ICMP) — адресация и маршрутизация пакетов между сетями.
- Канальный и физический уровни (Ethernet, Wi-Fi, PPP, оптика) — передача битов по конкретной среде.
Протоколы не существуют изолированно. Например, HTTP почти всегда работает поверх TCP, а TCP — поверх IP. Это называется инкапсуляцией: на каждом уровне к данным добавляется свой заголовок (иногда — концевик), образуя «матрёшку» пакетов. При получении процесс идёт в обратном порядке: каждый уровень снимает свой заголовок и передаёт полезную нагрузку выше.
Протоколы могут быть открытыми (спецификации доступны, реализации множественны, например, IP, TCP, TLS) или проприетарными (закрытыми, как некоторые внутренние протоколы корпоративных систем). Открытые протоколы — основа интероперабельности Интернета: устройство от одного производителя может взаимодействовать с устройством другого, лишь бы оба соблюдали стандарт.
IP-адрес
IP-адрес — это логический (не физический) идентификатор, присваиваемый сетевому интерфейсу для участия в IP-сети. Его можно сравнить с почтовым адресом в реальном мире: он не указывает на конкретный стол или монитор, а позволяет доставить письмо в нужное здание (сеть), после чего уже внутри здания (локальной сети) с помощью других механизмов — например, таблицы ARP или коммутатора — письмо найдёт нужного получателя.
Существует два основных стандарта IP-адресации:
-
IPv4 — 32-битный адрес, записывается в виде четырёх десятичных чисел от 0 до 255, разделённых точками (например,
192.168.1.10). Общее число возможных адресов — около 4,3 миллиарда. К середине 2010-х адресное пространство IPv4 было исчерпано, что привело к широкому внедрению механизма NAT (Network Address Translation) и ускоренному переходу на IPv6. -
IPv6 — 128-битный адрес, записывается шестнадцатеричными группами (например,
2001:0db8:85a3:0000:0000:8a2e:0370:7334, с сокращениями —2001:db8:85a3::8a2e:370:7334). Объём адресного пространства настолько велик (~3,4 × 10³⁸ адресов), что позволяет присвоить уникальный IP каждому устройству на Земле — и даже каждому зерну песка — не опасаясь дефицита.
IP-адрес не привязан к устройству навсегда. Он может быть:
- Статическим — назначается вручную и не меняется (часто для серверов, маршрутизаторов, принтеров).
- Динамическим — выдаётся автоматически сервером DHCP (Dynamic Host Configuration Protocol) на ограниченное время аренды. После истечения срока устройство должно подтвердить продление или запросить новый адрес.
Каждому IP-адресу соответствует маска подсети, которая определяет, какая часть адреса относится к идентификатору сети, а какая — к идентификатору узла внутри этой сети. Например, маска 255.255.255.0 означает, что первые три байта (192.168.1) — это сеть, а последний (10) — номер устройства. Это позволяет строить иерархическую адресацию и эффективно маршрутизировать трафик.
IP-адреса делятся на классы по назначению:
- Публичные — регистрируются в глобальных реестрах (ICANN, RIPE NCC и др.) и маршрутизируются в Интернете.
- Приватные — зарезервированы для использования внутри локальных сетей (например,
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16). Они не должны появляться в публичном Интернете — маршрутизаторы их отбрасывают. Именно эти адреса используются в домашних и корпоративных LAN. - Специальные — например,
127.0.0.1(loopback — «обратная петля», обращение к самому себе),0.0.0.0(любой интерфейс),255.255.255.255(широковещательный адрес в локальной сети).
Важно понимать: IP-адрес идентифицирует интерфейс, а не устройство. У одного компьютера может быть несколько сетевых интерфейсов (Ethernet, Wi-Fi, виртуальные), и у каждого — свой IP. Сервер может слушать один и тот же порт на разных IP-адресах и отдавать разный контент (виртуальные хосты в веб-серверах).
Порт
Если IP-адрес — это адрес дома, то порт — это номер квартиры или офиса внутри этого дома. Порт позволяет одному устройству одновременно участвовать в десятках, а то и сотнях сетевых сессий, не смешивая их между собой.
Порт — это 16-битное целое число от 0 до 65535. Диапазоны имеют смысловую нагрузку:
-
0–1023 — зарезервированные (well-known) порты. Используются стандартными сервисами и требуют привилегий для запуска на большинстве ОС.
Примеры:
22— SSH,
80— HTTP,
443— HTTPS,
25— SMTP,
53— DNS (и TCP, и UDP). -
1024–49151 — зарегистрированные порты. Могут использоваться приложениями, но не являются стандартными. Часто применяются для кастомных серверов, резервных копий стандартных сервисов, промежуточных шлюзов.
-
49152–65535 — динамические/эфемерные порты. Назначаются операционной системой временно для исходящих соединений (клиентских сокетов). Когда ваш браузер подключается к веб-серверу, он выбирает свободный порт из этого диапазона в качестве локального порта соединения.
В модели TCP/IP порт работает на транспортном уровне. Пары IP:порт образуют так называемый сокет — уникальную точку окончания соединения. Полный идентификатор сессии — это кортеж из четырёх элементов:
<локальный IP>:<локальный порт> → <удалённый IP>:<удалённый порт>.
Например:
192.168.1.5:54321 → 93.184.216.34:443
означает: клиент с локального устройства (внутренний IP, эфемерный порт) установил HTTPS-соединение с сервером example.com.
Стоит подчеркнуть: порт не «принадлежит» приложению. Это абстракция ОС. Один сервер (например, Nginx) может слушать порт 80 и, получив HTTP-запрос, передать его внутреннему процессу на порту 3000 (бэкенд на Node.js) — и клиент об этом не узнает. Так работает проксирование и балансировка нагрузки.
UDP использует порты аналогично TCP, но без установления соединения — каждое сообщение содержит полный адрес назначения и порт, и система маршрутизирует его независимо.
Пропускная способность и задержка
Эти параметры определяют качество канала связи, но отвечают за разные аспекты.
Пропускная способность (bandwidth)
Пропускная способность — это максимальный объём данных, который может быть передан по каналу за единицу времени. Измеряется в битах в секунду (бит/с): килобит/с (Кбит/с), мегабит/с (Мбит/с), гигабит/с (Гбит/с). Обратите внимание: бит, а не байт. 1 Мбит/с = 125 КБ/с (килобайт в секунду), поскольку 1 байт = 8 бит.
Пропускная способность — характеристика физического или логического канала. Она зависит от:
- типа среды (медная витая пара — до 10 Гбит/с на коротких дистанциях; оптоволокно — до терабит/с в магистральных линиях),
- используемого протокола (Wi-Fi 5 — до 3,5 Гбит/с теоретически, Wi-Fi 6 — до 9,6 Гбит/с),
- наличия помех и интерференции (особенно в беспроводных сетях),
- загрузки канала (если много устройств делят один канал, каждый получит меньшую долю).
Важно: заявленная пропускная способность — это теоретический максимум в идеальных условиях. Реальная скорость передачи (throughput) всегда ниже из-за накладных расходов протоколов (заголовки, подтверждения, повторные передачи), особенностей приложений и состояния сети.
Задержка (latency, пинг)
Задержка — это время, прошедшее с момента отправки пакета до получения подтверждения или ответа. Измеряется в миллисекундах (мс). Термин «пинг» происходит от утилиты ping, которая отправляет ICMP-запросы (Echo Request) и замеряет время ответа (Echo Reply) — отсюда и метафора «пинг-понг».
Задержка складывается из нескольких компонентов:
- Время распространения сигнала — физическое ограничение скорости света. В оптоволокне сигнал движется со скоростью ~200 000 км/с. Расстояние в 300 км даёт задержку ~1,5 мс в одну сторону, то есть ~3 мс туда-обратно. Чем дальше сервер (например, в другом континенте), тем выше этот компонент.
- Время обработки — маршрутизаторы и коммутаторы тратят время на анализ заголовков, поиск в таблицах маршрутизации, проверку контрольных сумм.
- Время очереди — если на промежуточном устройстве буфер переполнен, пакеты ждут своей очереди на передачу. Это главная причина скачков задержки (jitter).
- Время передачи — сколько времени уходит на «выталкивание» пакета в канал. Зависит от размера пакета и пропускной способности: пакет 1500 байт при скорости 10 Мбит/с уйдёт за ~1,2 мс.
Задержка критична для интерактивных приложений: VoIP, видеоконференции, онлайн-игры, удалённое управление. Даже при высокой пропускной способности (например, 1 Гбит/с) задержка в 200 мс сделает игру неиграбельной или вызов — неудобным из-за эха.
Интересный парадокс: в некоторых сценариях низкая задержка важнее высокой пропускной способности. Например, для SSH-сессии достаточно 100 Кбит/с, но если задержка 300 мс — работать будет тяжело. А для загрузки фильма — наоборот: можно терпеть 100 мс пинга, но нужна стабильная скорость 50 Мбит/с.
Маршрутизация и коммутация
Два ключевых механизма, лежащих в основе передачи данных в многосегментных сетях — маршрутизация (routing) и коммутация (switching). Их часто путают, поскольку оба связаны с пересылкой пакетов, но они действуют на разных уровнях модели и решают разные задачи.
Коммутация (уровень канала — Data Link Layer)
Коммутация происходит внутри одной локальной сети (LAN). Устройство, выполняющее эту функцию, называется коммутатор (switch). Современные коммутаторы — это интеллектуальные устройства, строящие и использующие таблицу MAC-адресов.
MAC-адрес (Media Access Control) — это 48-битный физический идентификатор, «вшитый» в сетевой интерфейс на заводе. Он уникален (в теории) и не зависит от настроек ОС. Пример: 00:1A:2B:3C:4D:5E.
Как работает коммутатор:
- При получении кадра (frame) он извлекает источник (MAC-адрес отправителя) и назначение (MAC-адрес получателя).
- MAC-адрес отправителя регистрируется в таблице с привязкой к физическому порту — таким образом коммутатор «учится», где находятся устройства.
- Если адрес назначения уже есть в таблице — кадр отправляется только на тот порт, где находится получатель (unicast).
- Если адреса нет — кадр рассылается на все порты, кроме входящего (flooding). Получатель ответит, и его адрес тоже будет добавлен в таблицу.
- Кадры с широковещательным MAC (
FF:FF:FF:FF:FF:FF) всегда рассылаются на все активные порты — так работает, например, DHCP-запрос при старте устройства.
Преимущество коммутации: снижение коллизий и изоляция доменов конфликтов. В старых сетях использовались хабы (hubs), которые просто повторяли сигнал на все порты — это создавало единую коллизионную область (collision domain), где два устройства, начавшие передачу одновременно, «сталкивались». Коммутатор делит сеть на множество независимых коллизионных доменов по одному на порт — одновременная передача между разными парами устройств становится возможной.
Маршрутизация (уровень сети — Network Layer)
Маршрутизация — это передача пакетов между разными сетями. Устройство, отвечающее за это, — маршрутизатор (router). В отличие от коммутатора, маршрутизатор работает с IP-адресами, а не с MAC-адресами.
Основная задача маршрутизатора — принять решение: через какой интерфейс отправить пакет, чтобы он приблизился к получателю? Для этого используется таблица маршрутизации — набор правил вида:
Сеть назначения Маска подсети Шлюз (next hop) Интерфейс
0.0.0.0/0 0.0.0.0 192.168.1.1 eth0 ← маршрут по умолчанию
192.168.1.0/24 255.255.255.0 — eth0 ← прямая доставка (в своей сети)
10.0.0.0/8 255.0.0.0 192.168.1.254 eth0 ← через шлюз
Как принимается решение:
- Маршрутизатор получает IP-пакет.
- Извлекает IP-адрес назначения.
- Сравнивает его со всеми записями в таблице маршрутизации, выбирая наиболее специфичную (с наибольшей длиной префикса).
- Если найден маршрут — пакет пересылается на указанный интерфейс. Если маршрут — через шлюз, то перед отправкой выполняется инкапсуляция в канальный кадр с MAC-адресом шлюза (определяется через ARP или NDP для IPv6).
- Если подходящего маршрута нет — пакет отбрасывается, и отправителю может быть возвращено сообщение ICMP «Destination Unreachable».
Важно: маршрутизатор разрывает домен широковещания. Пакеты, адресованные на широковещательный адрес (255.255.255.255 или 192.168.1.255), не выходят за пределы своей подсети — в отличие от коммутатора, который их рассылает. Это снижает шум в сети и повышает безопасность.
Существуют статические и динамические таблицы маршрутизации:
- Статическая — вручную прописанные администратором маршруты. Просты, предсказуемы, подходят для небольших сетей.
- Динамическая — маршруты автоматически обмениваются между маршрутизаторами с помощью протоколов:
- внутри автономной системы (AS): OSPF, IS-IS, RIP;
- между автономными системами (глобальная маршрутизация): BGP (Border Gateway Protocol) — «язык Интернета».
BGP — это протокол политик маршрутизации. Он позволяет операторам управлять, какие маршруты объявлять, какому провайдеру отдавать трафик, как реагировать на отказы. Именно BGP лежит в основе отказоустойчивости глобального Интернета: при падении одного канала трафик перенаправляется по альтернативным путям за секунды.
NAT: Network Address Translation
Из-за дефицита IPv4-адресов большинство устройств в локальных сетях используют приватные IP-адреса (например, из диапазона 192.168.0.0/16). Но такие адреса не маршрутизируются в публичном Интернете. Решение — трансляция сетевых адресов (NAT).
NAT работает на границе между частной и публичной сетью (обычно — в домашнем роутере или корпоративном шлюзе). Его суть: замена внутреннего IP-адреса и порта на внешний (публичный) IP и другой порт при исходящем соединении — и обратная замена при ответе.
Простейший случай — SNAT (Source NAT):
- Компьютер в LAN (
192.168.1.5:54321) открывает TCP-соединение сexample.com:80. - Роутер заменяет исходный IP и порт на свои:
203.0.113.10:60001(публичный IP провайдера). - В таблице NAT создаётся запись:
192.168.1.5:54321 → 203.0.113.10:60001 → 93.184.216.34:80 - Сервер отвечает на
203.0.113.10:60001. - Роутер смотрит в таблицу, находит соответствие и перенаправляет пакет на
192.168.1.5:54321.
Таким образом, один публичный IP может обслуживать тысячи внутренних устройств — за счёт уникальных портов в таблице трансляции (это называется PAT — Port Address Translation, или NAPT).
Ограничения NAT:
- Ломает end-to-end-связность: два устройства за разными NAT не могут напрямую соединиться без посредника (STUN/TURN/ICE — протоколы для P2P-приложений).
- Сложно размещать серверы внутри NAT (требуется проброс портов — port forwarding).
- Некоторые протоколы (например, FTP в активном режиме) включают IP-адреса в тело сообщения — NAT должен «подправлять» и их (ALG — Application Layer Gateway).
NAT не требуется в IPv6-сетях, где каждый хост может иметь публичный адрес — это восстанавливает принцип сквозной адресуемости, заложенный изначально в IP.
VPN: Virtual Private Network
VPN — это технология создания безопасного, изолированного канала связи поверх публичной или ненадёжной сети (чаще всего — Интернета). Цель: обеспечить такой же уровень конфиденциальности и целостности, как если бы устройства были соединены прямым выделенным кабелем.
VPN не является отдельным протоколом — это подход, реализуемый с помощью:
- инкапсуляции — «упаковки» исходного пакета внутрь другого (например, IP-пакет в UDP-пакет),
- шифрования — защиты содержимого от перехвата,
- аутентификации — проверки подлинности участников,
- контроля целостности — обнаружения изменений в пути.
Типы VPN:
- Site-to-Site VPN — соединяет две локальные сети (например, офис и дата-центр). Устройства внутри каждой сети не знают о существовании VPN — трафик шифруется и расшифровывается на граничных маршрутизаторах или межсетевых экранах.
- Remote Access VPN — подключает отдельное устройство (ноутбук, смартфон) к корпоративной сети. Примеры: OpenVPN, WireGuard, IPsec (IKEv2), SSTP. Клиент устанавливает защищённый туннель к шлюзу, после чего получает доступ ко внутренним ресурсам, как будто находится в офисе.
Работает это так:
- На обоих концах туннеля запускаются процессы (демоны), согласовывающие параметры шифрования (алгоритм, ключи — обычно через Diffie-Hellman).
- Исходный IP-пакет (например,
10.0.1.5 → 10.0.2.10) инкапсулируется в новый пакет с публичными адресами (203.0.113.10 → 198.51.100.20). - Внешний пакет передаётся по Интернету. Промежуточные маршрутизаторы видят только внешние адреса.
- На получателе пакет распаковывается, проверяется подпись и расшифровывается.
- Получатель видит «родной» трафик — будто соединение локальное.
Современные протоколы (например, WireGuard) сочетают простоту, скорость и криптографическую стойкость. Они используют state-of-the-art алгоритмы (Curve25519 для обмена ключами, ChaCha20 для шифрования, Poly1305 для аутентификации сообщений) и минимизируют служебные данные — что снижает задержку и повышает пропускную способность.
VPN не заменяет другие механизмы безопасности (аутентификацию пользователей, контроль доступа, обнаружение вторжений), но формирует первый слой защиты при передаче по ненадёжным сетям.